//package mode_utils.redis工具;
//
//import com.quanshi.jingdian.domain.vo.JdElectricityRecordsVo;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.HashSet;
//import java.util.List;
//import java.util.Set;
//import java.util.concurrent.TimeUnit;
//
//
///**
// * redis工具类
// */
//
//@Component
//public class RedisUtils {
//    private static final String KEY_PREFIX = "electricity:";
//    private static final String KEY_RELAYING = "relaying:";
//
//    @Resource
//    private RedisTemplate<String, JdElectricityRecordsVo> redisTemplate;
//    @Resource
//    private RedisTemplate<String, String> redisStringTemplate;
//
//    public void saveDataToRedis(JdElectricityRecordsVo records) {
//        String redisKey = KEY_PREFIX + records.getSoleId();
//        redisTemplate.opsForValue().set(redisKey, records);
//    }
//
//    public JdElectricityRecordsVo getDataFromRedis(String str) {
//        String redisKey = KEY_PREFIX + str;
//        return redisTemplate.opsForValue().get(redisKey);
//    }
//
//    public List<JdElectricityRecordsVo> getAllDataFromRedis() {
//        Set<String> redisKeys = redisTemplate.keys(KEY_PREFIX + "*");
//        List<JdElectricityRecordsVo> allRecords = new ArrayList<>();
//        if (redisKeys != null) {
//            for (String redisKey : redisKeys) {
//                JdElectricityRecordsVo record = redisTemplate.opsForValue().get(redisKey);
//                allRecords.add(record);
//            }
//        }
//        return allRecords;
//    }
//
//    /** 获取所有中继的数据 */
//    public Set<Integer> getRedisRelayingAllData() {
//        Set<String> redisKeys = redisStringTemplate.keys(KEY_RELAYING + "*");
//        Set<Integer> relayingList = new HashSet<>();
//        if (redisKeys != null) {
//            for (String redisKey : redisKeys) {
//                String record = redisStringTemplate.opsForValue().get(redisKey);
//                relayingList.add(Integer.valueOf(record));
//            }
//        }
//        return relayingList;
//    }
//
//    public void set(String key, String value, Integer timeout) {
//        if(timeout > 0){
//            redisStringTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS);
//        }else {
//            redisStringTemplate.opsForValue().set(key, value);
//        }
//    }
//
//    public void deleteAllDataFromRedis() {
//        Set<String> redisKeys = redisStringTemplate.keys(KEY_PREFIX + "*");
//        if (redisKeys != null && !redisKeys.isEmpty()) {
//            redisTemplate.delete(redisKeys);
//        }
//    }
//
//    public void deleteElectricityData(String str) {
//        String redisKey = KEY_PREFIX + str;
//        redisTemplate.delete(redisKey);
//    }
//
//}
